import request from '@/config/axios'

// table数据集 VO
export interface DsTableVO {
  id: number // ID
  name: string // 名称
  description: string // 描述
  tableName: string // 物理表名
  datasourceId: number // 数据源ID
  datasetGroupId: number // 数据集ID
  type: string // db,sql,union,excel,api
  info: string // 表原始信息,表名,sql等
  sqlVariableDetails: string // SQL参数
}

// table数据集 API
export const DsTableApi = {
  //保存table数据集

  // 查询table数据集分页
  getDsTablePage: async (params: any) => {
    return await request.get({ url: `/data/ds-table/page`, params })
  },

  // 查询table数据集详情
  getDsTable: async (id: number) => {
    return await request.get({ url: `/data/ds-table/get?id=` + id })
  },

  // 新增table数据集
  createDsTable: async (data: DsTableVO) => {
    return await request.post({ url: `/data/ds-table/create`, data })
  },

  // 修改table数据集
  updateDsTable: async (data: DsTableVO) => {
    return await request.put({ url: `/data/ds-table/update`, data })
  },

  // 删除table数据集
  deleteDsTable: async (id: number) => {
    return await request.delete({ url: `/data/ds-table/delete?id=` + id })
  },

  // 导出table数据集 Excel
  exportDsTable: async (params) => {
    return await request.download({ url: `/data/ds-table/export-excel`, params })
  },
}
